44 research outputs found

    Simple, partial type-inference for System F based on type-containment

    Get PDF
    We explore partial type-inference for System F based on type-containment. We consider both cases of a purely functional semantics and a call-by-value stateful semantics. To enable type-inference, we require higher-rank polymorphism to be user-specified via type annotations on source terms. We allow implicit predicative type-containment and explicit impredicative type-instantiation. We obtain a core language that is both as expressive as System F and conservative over ML. Its type system has a simple logical specification and a partial type-reconstruction algorithm that are both very close to the ones for ML. We then propose a surface language where some annotations may be omitted and rebuilt by some algorithmically defined but logically incomplete elaboration mechanism

    Un langage dédié à l'administration d'infrastructures virtualisées

    Get PDF
    Avec l Ă©mergence de l informatique dans les nuages, la capacitĂ© d hĂ©bergement des centres de donnĂ©es ne cesse d augmenter afin de rĂ©pondre Ă  une demande de plus en plus forte. La gestion,appelĂ©e l administration, d un centre de donnĂ©es entraĂźne des opĂ©rations frĂ©quentes sur des machines virtuelles (VM) ainsi que sur des serveurs. De plus, chaque VM hĂ©bergĂ©e possĂšde des besoins spĂ©cifiques au regard de sa qualitĂ© de service, de ses ressources et de son placement qui doit ĂȘtre compatible avec les mĂ©canismes de tolĂ©rance aux pannes et la configuration rĂ©-seau. Les outils de l Infrastructure As A Service tels que Open Nebula et Vmware vSphere simplifient la crĂ©ation et le dĂ©ploiement de VM. Cependant, l administration d une infrastructure virtualisĂ©e repose encore sur des changements manuels dĂ©cidĂ©s par les administrateurs. Cette approche n est plus pertinente pour la gestion d infrastructures virtualisĂ©es de milliers de VM. En effet, les administrateurs ne peuvent pas manipuler des ensembles importants de VM tout en assurant la compatibilitĂ© des reconfigurations exĂ©cutĂ©es avec les besoins des VM. De nouvelles approches d administration d infrastructures proposent l automatisation de certaines tĂąches d administration. L outil dĂ©crit dans ce document utilise des langages dĂ©diĂ©s pour rĂ©-pondre aux besoins d administration infrastructures virtualisĂ©es de taille consĂ©quente. Dans un premier temps, l outil propose aux administrateurs des opĂ©rations d introspection pour observer l organisation des ressources dĂ©ployĂ©es sur l infrastructure et les reconfigurations habituelles comme le dĂ©marrage, l arrĂȘt et le redĂ©marrage de VM et de serveurs. Dans un second temps les administrateurs dĂ©finissent le placement des VM Ă  partir de rĂšgles de placement. À partir de ces rĂšgles, l outil d administration vĂ©rifie chaque reconfiguration et chaque ajout de rĂšgles exĂ©cutĂ©s par l administrateur. Si une reconfiguration ou une rĂšgle est invalide,l outil dĂ©tecte un conflit et avertit l administrateur de l Ă©chec de l opĂ©ration. L outil d administration, Ă  l aide d algorithmes d ordonnancement peut calculer un plan de reconfigurations rĂ©solvant les conflits. Ces algorithmes peuvent aussi ĂȘtre utilisĂ©s pour mettre en place des politiques d ordonnancement comme la consolidation ou l Ă©quilibrage de charge.With the emergence of cloud computing, the hosting capacity of the data centers has been continuously growing to support the non stop increasing clients demand. Managing a data center implies to regularly manipulate both virtual machines (VM) and servers. Each hosted VM has specific expectations regarding its quality of service, its resource requirements and its placement that may be compatible with fault tolerance mechanisms and the networking configuration. Infrastructure As A Service solutions such as Open Nebula and VMWare vSphere extremely simplify creations and deployments of VM but virtualized infrastructure management is still relying on manual changes on the environment. This approach is no longer compatible with an infrastructure composed of thousand of VM. Indeed, a system administrator can not manipulate a large set of VMinsuring that its reconfigurations are compatible with the expected VM requirements. This situation has led to new approaches for the infrastructure management employing automation to replace the traditional manual approach. The tool described in this document deals with VM management from Domain Specific Languages. On the one hand, this tool proposes to administrators introspection operations to monitor the infrastructure resources and common reconfigurations including starting, halting, rebooting, of serversand VM. On the other hand, administrators define the VM placement from placement rules. Then, the system checks, according to active rules, the validity of all reconfigurations and rules performed by administrators. If a reconfiguration or a rule is invalid, the administrative tool detects conflicts and warns administrators. To resolve a conflict, the system, by interacting with scheduling algorithms, computes a reconfiguration plan that satisfies all rules.The reconfiguration plan can also apply scheduling policies as consolidation or load balancing with respect to placement rules.NANTES-ENS Mines (441092314) / SudocSudocFranceF

    btrScript : a safe management system for virtualized data center

    Get PDF
    International audienceVirtual machine management in data centers is more and more complex and this is due to the increasing total number of virtual machines. Virtual machine resources and scheduled policies (e.g., consolidation) define the virtual machine placement. This placement is difficult to compute for large infrastructures. Administrators maintain a correct placement by performing actions (e.g., migrate virtual machines, power off servers...) and some time using autonomic schedulers. We propose btrScript: a safe autonomic system for virtual machine management that includes actions and placement rules. Actions are imperative operations to reconfigure the data center and declarative rules specify the virtual machine placement. Administrators schedule both actions and rules, to manage their data center(s). They can also interact with the btrScript system in order to monitor the data center and compute the correct virtual machine placement

    Symbolic Algorithms for Language Equivalence and Kleene Algebra with Tests

    Get PDF
    We first propose algorithms for checking language equivalence of finite automata over a large alphabet. We use symbolic automata, where the transition function is compactly represented using a (multi-terminal) binary decision diagrams (BDD). The key idea consists in computing a bisimulation by exploring reachable pairs symbolically, so as to avoid redundancies. This idea can be combined with already existing optimisations, and we show in particular a nice integration with the disjoint sets forest data-structure from Hopcroft and Karp's standard algorithm. Then we consider Kleene algebra with tests (KAT), an algebraic theory that can be used for verification in various domains ranging from compiler optimisation to network programming analysis. This theory is decidable by reduction to language equivalence of automata on guarded strings, a particular kind of automata that have exponentially large alphabets. We propose several methods allowing to construct symbolic automata out of KAT expressions, based either on Brzozowski's derivatives or standard automata constructions. All in all, this results in efficient algorithms for deciding equivalence of KAT expressions

    8-oxo-7,8-dihydro-2'-deoxyguanosine as a biomarker of oxidative damage in oesophageal cancer patients: lack of association with antioxidant vitamins and polymorphism of hOGG1 and GST

    Get PDF
    International audienceThe present report was designed to investigate the origins of elevated oxidative stress measured in cancer patients in our previous work related to a case-control study (17 cases, 43 controls) on oesophageal cancers. The aim was to characterize the relationship between the levels of 8-oxo-7,8-dihydro-2'-deoxyguanosine (8-oxodG), antioxidant vitamins and genetic susceptibility

    btrScript : a safe management system for virtualized data center

    Get PDF
    International audienceVirtual machine management in data centers is more and more complex and this is due to the increasing total number of virtual machines. Virtual machine resources and scheduled policies (e.g., consolidation) define the virtual machine placement. This placement is difficult to compute for large infrastructures. Administrators maintain a correct placement by performing actions (e.g., migrate virtual machines, power off servers...) and some time using autonomic schedulers. We propose btrScript: a safe autonomic system for virtual machine management that includes actions and placement rules. Actions are imperative operations to reconfigure the data center and declarative rules specify the virtual machine placement. Administrators schedule both actions and rules, to manage their data center(s). They can also interact with the btrScript system in order to monitor the data center and compute the correct virtual machine placement

    A domain specific language for virtualized infrastructures

    No full text
    Avec l’émergence de l’informatique dans les nuages, la capacitĂ© d’hĂ©bergement des centres de donnĂ©es ne cesse d’augmenter afin de rĂ©pondre Ă  une demande de plus en plus forte. La gestion, appelĂ©e l’administration, d’un centre de donnĂ©es entraĂźne des opĂ©rations frĂ©quentes sur des machines virtuelles (VM) ainsi que sur des serveurs. De plus, chaque VM hĂ©bergĂ©e possĂšde des besoins spĂ©cifiques au regard de sa qualitĂ© de service, de ses ressources et de son placement qui doit ĂȘtre compatible avec les mĂ©canismes de tolĂ©rance aux pannes et la configuration rĂ©seau. Les outils de « l’Infrastructure As A Service » tels que Open Nebula et Vmware vSphere simplifient la crĂ©ation et le dĂ©ploiement de VM. Cependant, l’administration d’une infrastructure virtualisĂ©e repose encore sur des changements manuels dĂ©cidĂ©s par les administrateurs. Cette approche n’est plus pertinente pour la gestion d’infrastructures virtualisĂ©es de milliers de VM. En effet, les administrateurs ne peuvent pas manipuler des ensembles importants de VM tout en assurant la compatibilitĂ© des reconfigurations exĂ©cutĂ©es avec les besoins des VM. De nouvelles approches d’administration d’infrastructures proposent l’automatisation de certaines tĂąches d’administration. L’outil dĂ©crit dans ce document utilise des langages dĂ©diĂ©s pour rĂ©pondre aux besoins d’administration infrastructures virtualisĂ©es de taille consĂ©quente. Dans un premier temps, l’outil propose aux administrateurs des opĂ©rations d’introspection pour observer l’organisation des ressources dĂ©ployĂ©es sur l’infrastructure et les reconfigurations habituelles comme le dĂ©marrage, l’arrĂȘt et le redĂ©marrage de VM et de serveurs. Dans un second temps les administrateurs dĂ©finissent le placement des VM Ă  partir de rĂšgles de placement. À partir de ces rĂšgles, l’outil d’administration vĂ©rifie chaque reconfiguration et chaque ajout de rĂšgles exĂ©cutĂ©s par l’administrateur. Si une reconfiguration ou une rĂšgle est invalide, l’outil dĂ©tecte un conflit et avertit l’administrateur de l’échec de l’opĂ©ration. L’outil d’administration, Ă  l’aide d’algorithmes d’ordonnancement peut calculer un plan de reconfigurations rĂ©solvant les conflits. Ces algorithmes peuvent aussi ĂȘtre utilisĂ©s pour mettre en place des politiques d’ordonnancement comme la consolidation ou l’équilibrage de charge.With the emergence of cloud computing, the hosting capacity of the data centers has been continuously growing to support the non stop increasing clients demand. Managing a data center implies to regularly manipulate both virtual machines (VM) and servers. Each hosted VM has specific expectations regarding its quality of service, its resource requirements and its placement that may be compatible with fault tolerance mechanisms and the networking configuration. Infrastructure As A Service solutions such as Open Nebula and VMWare vSphere extremely simplify creations and deployments of VM but virtualized infrastructure management is still relying on manual changes on the environment. This approach is no longer compatible with an infrastructure composed of thousand of VM. Indeed, a system administrator can not manipulate a large set of VMinsuring that its reconfigurations are compatible with the expected VM requirements. This situation has led to new approaches for the infrastructure management employing automation to replace the traditional manual approach. The tool described in this document deals with VM management from Domain Specific Languages. On the one hand, this tool proposes to administrators introspection operations to monitor the infrastructure resources and common reconfigurations including starting, halting, rebooting, of serversand VM. On the other hand, administrators define the VM placement from placement rules. Then, the system checks, according to active rules, the validity of all reconfigurations and rules performed by administrators. If a reconfiguration or a rule is invalid, the administrative tool detects conflicts and warns administrators. To resolve a conflict, the system, by interacting with scheduling algorithms, computes a reconfiguration plan that satisfies all rules.The reconfiguration plan can also apply scheduling policies as consolidation or load balancing with respect to placement rules

    Un langage dédié à l'administration d'infrastructures virtualisées

    Get PDF
    With the emergence of cloud computing, the hosting capacity of the data centers has been continuously growing to support the non stop increasing clients demand. Managing a data center implies to regularly manipulate both virtual machines (VM) and servers. Each hosted VM has specific expectations regarding its quality of service, its resource requirements and its placement that may be compatible with fault tolerance mechanisms and the networking configuration. Infrastructure As A Service solutions such as Open Nebula and VMWare vSphere extremely simplify creations and deployments of VM but virtualized infrastructure management is still relying on manual changes on the environment. This approach is no longer compatible with an infrastructure composed of thousand of VM. Indeed, a system administrator can not manipulate a large set of VMinsuring that its reconfigurations are compatible with the expected VM requirements. This situation has led to new approaches for the infrastructure management employing automation to replace the traditional manual approach. The tool described in this document deals with VM management from Domain Specific Languages. On the one hand, this tool proposes to administrators introspection operations to monitor the infrastructure resources and common reconfigurations including starting, halting, rebooting, of serversand VM. On the other hand, administrators define the VM placement from placement rules. Then, the system checks, according to active rules, the validity of all reconfigurations and rules performed by administrators. If a reconfiguration or a rule is invalid, the administrative tool detects conflicts and warns administrators. To resolve a conflict, the system, by interacting with scheduling algorithms, computes a reconfiguration plan that satisfies all rules.The reconfiguration plan can also apply scheduling policies as consolidation or load balancing with respect to placement rules.Avec l’émergence de l’informatique dans les nuages, la capacitĂ© d’hĂ©bergement des centres de donnĂ©es ne cesse d’augmenter afin de rĂ©pondre Ă  une demande de plus en plus forte. La gestion, appelĂ©e l’administration, d’un centre de donnĂ©es entraĂźne des opĂ©rations frĂ©quentes sur des machines virtuelles (VM) ainsi que sur des serveurs. De plus, chaque VM hĂ©bergĂ©e possĂšde des besoins spĂ©cifiques au regard de sa qualitĂ© de service, de ses ressources et de son placement qui doit ĂȘtre compatible avec les mĂ©canismes de tolĂ©rance aux pannes et la configuration rĂ©seau. Les outils de « l’Infrastructure As A Service » tels que Open Nebula et Vmware vSphere simplifient la crĂ©ation et le dĂ©ploiement de VM. Cependant, l’administration d’une infrastructure virtualisĂ©e repose encore sur des changements manuels dĂ©cidĂ©s par les administrateurs. Cette approche n’est plus pertinente pour la gestion d’infrastructures virtualisĂ©es de milliers de VM. En effet, les administrateurs ne peuvent pas manipuler des ensembles importants de VM tout en assurant la compatibilitĂ© des reconfigurations exĂ©cutĂ©es avec les besoins des VM. De nouvelles approches d’administration d’infrastructures proposent l’automatisation de certaines tĂąches d’administration. L’outil dĂ©crit dans ce document utilise des langages dĂ©diĂ©s pour rĂ©pondre aux besoins d’administration infrastructures virtualisĂ©es de taille consĂ©quente. Dans un premier temps, l’outil propose aux administrateurs des opĂ©rations d’introspection pour observer l’organisation des ressources dĂ©ployĂ©es sur l’infrastructure et les reconfigurations habituelles comme le dĂ©marrage, l’arrĂȘt et le redĂ©marrage de VM et de serveurs. Dans un second temps les administrateurs dĂ©finissent le placement des VM Ă  partir de rĂšgles de placement. À partir de ces rĂšgles, l’outil d’administration vĂ©rifie chaque reconfiguration et chaque ajout de rĂšgles exĂ©cutĂ©s par l’administrateur. Si une reconfiguration ou une rĂšgle est invalide, l’outil dĂ©tecte un conflit et avertit l’administrateur de l’échec de l’opĂ©ration. L’outil d’administration, Ă  l’aide d’algorithmes d’ordonnancement peut calculer un plan de reconfigurations rĂ©solvant les conflits. Ces algorithmes peuvent aussi ĂȘtre utilisĂ©s pour mettre en place des politiques d’ordonnancement comme la consolidation ou l’équilibrage de charge

    Simple, partial type-inference for System F based on type-containment

    No full text

    10 The Essence of ML Type Inference 10.1 What Is ML?

    No full text
    The name ML appeared during the late seventies. It then referred to a generalpurpose programming language that was used as a meta-language (whence its name) within the theorem prover LCF (Gordon, Milner, and Wadsworth, 1979). Since then, several new programming languages, each of which offers several different implementations, have drawn inspiration from it. So, what does ML stand for today? For a semanticist, ML might stand for a programming language featuring first-class functions, data structures built out of products and sums, mutable memory cells called references, exception handling, automatic memory management, and a call-by-value semantics. This view encompasses the Standard ML (Milner, Tofte, and Harper, 1990) and Caml (Leroy, 2000) families of programming languages. We refer to it as ML-the-programming-language. For a type theorist, ML might stand for a particular breed of type systems, based on the simply-typed λ-calculus, but extended with a simple form of polymorphism introduced by let declarations. These type systems have decidabl
    corecore